package com.ruoyi.system.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SuperGroupProductDetailMapper;
import com.ruoyi.system.domain.SuperGroupProductDetail;
import com.ruoyi.system.service.ISuperGroupProductDetailService;

/**
 * 拼团明细Service业务层处理
 * 
 * @author xjf
 * @date 2025-08-14
 */
@Service
public class SuperGroupProductDetailServiceImpl implements ISuperGroupProductDetailService 
{
    @Autowired
    private SuperGroupProductDetailMapper superGroupProductDetailMapper;

    /**
     * 查询拼团明细
     * 
     * @param id 拼团明细主键
     * @return 拼团明细
     */
    @Override
    public SuperGroupProductDetail selectSuperGroupProductDetailById(Long id)
    {
        return superGroupProductDetailMapper.selectSuperGroupProductDetailById(id);
    }

    /**
     * 查询拼团明细列表
     * 
     * @param superGroupProductDetail 拼团明细
     * @return 拼团明细
     */
    @Override
    public List<SuperGroupProductDetail> selectSuperGroupProductDetailList(SuperGroupProductDetail superGroupProductDetail)
    {
        return superGroupProductDetailMapper.selectSuperGroupProductDetailList(superGroupProductDetail);
    }

    /**
     * 新增拼团明细
     * 
     * @param superGroupProductDetail 拼团明细
     * @return 结果
     */
    @Override
    public int insertSuperGroupProductDetail(SuperGroupProductDetail superGroupProductDetail)
    {
        int exists = superGroupProductDetailMapper.existsUserInGroup(
                superGroupProductDetail.getGroupProductId(),
                superGroupProductDetail.getUserId()
        );

        if (exists > 0) {
            // 已参团
            return -1;
        }

        return superGroupProductDetailMapper.insertSuperGroupProductDetail(superGroupProductDetail);
    }

    /**
     * 修改拼团明细
     * 
     * @param superGroupProductDetail 拼团明细
     * @return 结果
     */
    @Override
    public int updateSuperGroupProductDetail(SuperGroupProductDetail superGroupProductDetail)
    {
        return superGroupProductDetailMapper.updateSuperGroupProductDetail(superGroupProductDetail);
    }

    /**
     * 批量删除拼团明细
     * 
     * @param ids 需要删除的拼团明细主键
     * @return 结果
     */
    @Override
    public int deleteSuperGroupProductDetailByIds(Long[] ids)
    {
        return superGroupProductDetailMapper.deleteSuperGroupProductDetailByIds(ids);
    }

    /**
     * 删除拼团明细信息
     * 
     * @param id 拼团明细主键
     * @return 结果
     */
    @Override
    public int deleteSuperGroupProductDetailById(Long id)
    {
        return superGroupProductDetailMapper.deleteSuperGroupProductDetailById(id);
    }
}
